package com.easygem.front.service;

import com.easygem.common.model.front.CallLog;
import com.easygem.common.vo.front.CallLogVo;
import com.easygem.common.vo.front.SeatTrafficVo;
import com.easygem.common.vo.system.PageVO;

import java.util.List;

/**
 * @author luoxi
 * @version 1.0
 * @className CallLogService
 * @Description 话单日志业务层接口
 * @date 2025/2/19 08:38
 */
public interface CallLogService {
    /**
     * 通过条件查询话单日志信息
     * @param pageNum 页码
     * @param pageSize 页面数
     * @param callLogVo 条件对象
     * @return
     */
    PageVO<CallLog> findList(Integer pageNum, Integer pageSize, CallLogVo callLogVo);
    /**
     *  批量导出话单记录
     * @param logId 话单id集合
     * @return  话单列表
     */
    List<CallLog> downExcelBatch(List<Long> logId);
    /**
     * 通过条件查出话单记录,用于导出
     * @return
     */

    List<CallLog> downExcelAll(CallLogVo callLogVo);




    /**
     * 通过条件查询话单日志信息
     * @param callLogVo 条件对象
     * @return 用于坐席话务统计
     */
    PageVO<SeatTrafficVo> getCallLogListByCallLog(Integer pageNum, Integer pageSize,  CallLogVo callLogVo);

    /**
     * 用于计算一个坐席下的话单记录
     * @param callLog 条件对象
     * @return
     */
    SeatTrafficVo getSeatTraffic(CallLog callLog);
    /**
     *  批量导出坐席话务统计记录
     * @param callLogVo 条件对象
     * @return  话单列表
     */
    List<SeatTrafficVo> seatTrafficDownExcelBatch(CallLogVo callLogVo);
    /**
     * 通过条件查出坐席话务统计记录,用于导出
     * @return
     */

    List<SeatTrafficVo> seatTrafficDownExcelAll(CallLogVo callLogVo);
}
